home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / vbkontrol.exe / VBSTAK.ZIP / VBSTAK / STAKMAN / STAKMAN.FRM < prev    next >
Text File  |  1995-06-22  |  23KB  |  786 lines

  1. VERSION 2.00
  2. Begin Form StakMan 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "StakMan"
  5.    ClientHeight    =   6195
  6.    ClientLeft      =   810
  7.    ClientTop       =   795
  8.    ClientWidth     =   7425
  9.    Height          =   6600
  10.    Icon            =   STAKMAN.FRX:0000
  11.    Left            =   750
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   6195
  14.    ScaleWidth      =   7425
  15.    Top             =   450
  16.    Width           =   7545
  17.    Begin VBSTAK VBStak 
  18.       Debug           =   0   'False
  19.       Host            =   "haddock2"
  20.       HostAddress     =   ""
  21.       InputLen        =   0
  22.       Left            =   3420
  23.       LocalAddress    =   ""
  24.       LocalPort       =   0
  25.       Options         =   0
  26.       Protocol        =   0
  27.       ProtocolName    =   "tcp"
  28.       RemotePort      =   0
  29.       ServiceName     =   "ftp"
  30.       Top             =   1650
  31.    End
  32.    Begin VBSTAK DataStak 
  33.       Debug           =   0   'False
  34.       Host            =   "none"
  35.       HostAddress     =   "0.0.0.0"
  36.       InputLen        =   0
  37.       Left            =   2850
  38.       LocalAddress    =   ""
  39.       LocalPort       =   16000
  40.       Options         =   0
  41.       Protocol        =   0
  42.       ProtocolName    =   "tcp"
  43.       RemotePort      =   0
  44.       ServiceName     =   "ftp-data"
  45.       Top             =   1620
  46.    End
  47.    Begin Frame Frame3 
  48.       BackColor       =   &H00C0C0C0&
  49.       Caption         =   "Status"
  50.       FontBold        =   -1  'True
  51.       FontItalic      =   -1  'True
  52.       FontName        =   "MS Sans Serif"
  53.       FontSize        =   8.25
  54.       FontStrikethru  =   0   'False
  55.       FontUnderline   =   0   'False
  56.       Height          =   1155
  57.       Left            =   4170
  58.       TabIndex        =   0
  59.       Top             =   0
  60.       Width           =   3225
  61.       Begin CommandButton CloseFormButton 
  62.          Caption         =   "Close"
  63.          Height          =   315
  64.          Left            =   2400
  65.          TabIndex        =   8
  66.          Top             =   150
  67.          Width           =   795
  68.       End
  69.       Begin CheckBox AutoCloseCheckBox 
  70.          BackColor       =   &H00C0C0C0&
  71.          Caption         =   "AutoClose"
  72.          Height          =   195
  73.          Left            =   1860
  74.          TabIndex        =   9
  75.          Top             =   840
  76.          Value           =   1  'Checked
  77.          Width           =   1245
  78.       End
  79.       Begin CheckBox DebugMode 
  80.          BackColor       =   &H00C0C0C0&
  81.          Caption         =   "Debug"
  82.          Height          =   285
  83.          Left            =   1860
  84.          TabIndex        =   1
  85.          Top             =   510
  86.          Width           =   885
  87.       End
  88.       Begin TextBox ErrorBox 
  89.          BackColor       =   &H00FFFFFF&
  90.          Height          =   285
  91.          Left            =   750
  92.          TabIndex        =   2
  93.          Top             =   840
  94.          Width           =   660
  95.       End
  96.       Begin TextBox SocketBox 
  97.          BackColor       =   &H00FFFFFF&
  98.          Height          =   285
  99.          Left            =   750
  100.          TabIndex        =   3
  101.          Top             =   240
  102.          Width           =   405
  103.       End
  104.       Begin TextBox StatusBox 
  105.          BackColor       =   &H00FFFFFF&
  106.          Height          =   285
  107.          Left            =   750
  108.          TabIndex        =   4
  109.          Top             =   540
  110.          Width           =   405
  111.       End
  112.       Begin Label Label3 
  113.          BackColor       =   &H00C0C0C0&
  114.          Caption         =   "Error"
  115.          Height          =   225
  116.          Index           =   0
  117.          Left            =   180
  118.          TabIndex        =   5
  119.          Top             =   840
  120.          Width           =   615
  121.       End
  122.       Begin Label Label3 
  123.          BackColor       =   &H00C0C0C0&
  124.          Caption         =   "Socket"
  125.          Height          =   225
  126.          Index           =   1
  127.          Left            =   60
  128.          TabIndex        =   6
  129.          Top             =   270
  130.          Width           =   615
  131.       End
  132.       Begin Label Label4 
  133.          BackColor       =   &H00C0C0C0&
  134.          Caption         =   "State"
  135.          Height          =   225
  136.          Index           =   0
  137.          Left            =   60
  138.          TabIndex        =   7
  139.          Top             =   540
  140.          Width           =   585
  141.       End
  142.    End
  143.    Begin Frame Frame2 
  144.       BackColor       =   &H00C0C0C0&
  145.       Caption         =   "Host"
  146.       FontBold        =   -1  'True
  147.       FontItalic      =   -1  'True
  148.       FontName        =   "MS Sans Serif"
  149.       FontSize        =   8.25
  150.       FontStrikethru  =   0   'False
  151.       FontUnderline   =   0   'False
  152.       Height          =   2115
  153.       Left            =   30
  154.       TabIndex        =   17
  155.       Top             =   0
  156.       Width           =   4155
  157.       Begin CommandButton MessageButton 
  158.          Caption         =   "Connect"
  159.          Height          =   315
  160.          Left            =   2910
  161.          TabIndex        =   11
  162.          Top             =   1020
  163.          Width           =   1095
  164.       End
  165.       Begin CommandButton ServiceButton 
  166.          Caption         =   "GetService"
  167.          Height          =   315
  168.          Left            =   2910
  169.          TabIndex        =   12
  170.          Top             =   120
  171.          Width           =   1095
  172.       End
  173.       Begin CommandButton GetHostButton 
  174.          Caption         =   "Get Host"
  175.          Height          =   315
  176.          Left            =   2910
  177.          TabIndex        =   32
  178.          Top             =   720
  179.          Width           =   1095
  180.       End
  181.       Begin CommandButton ProtocolButton 
  182.          Caption         =   "GetProtocol"
  183.          Height          =   315
  184.          Left            =   2910
  185.          TabIndex        =   31
  186.          Top             =   420
  187.          Width           =   1095
  188.       End
  189.       Begin TextBox RemotePortBox 
  190.          BackColor       =   &H00FFFFFF&
  191.          Height          =   315
  192.          Left            =   1920
  193.          TabIndex        =   29
  194.          Top             =   330
  195.          Width           =   555
  196.       End
  197.       Begin TextBox ProtocolBox 
  198.          BackColor       =   &H00FFFFFF&
  199.          Height          =   315
  200.          Left            =   1920
  201.          TabIndex        =   28
  202.          Top             =   660
  203.          Width           =   555
  204.       End
  205.       Begin TextBox ServiceNameBox 
  206.          BackColor       =   &H00FFFFFF&
  207.          Height          =   315
  208.          Left            =   840
  209.          TabIndex        =   21
  210.          Top             =   330
  211.          Width           =   1005
  212.       End
  213.       Begin TextBox ProtocolNameBox 
  214.          BackColor       =   &H00FFFFFF&
  215.          Height          =   315
  216.          Left            =   840
  217.          TabIndex        =   20
  218.          Top             =   660
  219.          Width           =   1005
  220.       End
  221.       Begin TextBox HostNameBox 
  222.          BackColor       =   &H00FFFFFF&
  223.          Height          =   315
  224.          Left            =   840
  225.          TabIndex        =   19
  226.          Top             =   1050
  227.          Width           =   1995
  228.       End
  229.       Begin TextBox HostAddressBox 
  230.          BackColor       =   &H00FFFFFF&
  231.          Height          =   315
  232.          Left            =   840
  233.          TabIndex        =   18
  234.          Top             =   1410
  235.          Width           =   1305
  236.       End
  237.       Begin Label Label2 
  238.          BackColor       =   &H00C0C0C0&
  239.          Caption         =   "Name"
  240.          Height          =   225
  241.          Index           =   4
  242.          Left            =   840
  243.          TabIndex        =   46
  244.          Top             =   120
  245.          Width           =   525
  246.       End
  247.       Begin Label Label2 
  248.          BackColor       =   &H00C0C0C0&
  249.          Caption         =   "#"
  250.          Height          =   225
  251.          Index           =   3
  252.          Left            =   1950
  253.          TabIndex        =   47
  254.          Top             =   120
  255.          Width           =   525
  256.       End
  257.       Begin Label Label1 
  258.          BackColor       =   &H00C0C0C0&
  259.          Caption         =   "Name"
  260.          Height          =   225
  261.          Index           =   0
  262.          Left            =   90
  263.          TabIndex        =   27
  264.          Top             =   1110
  265.          Width           =   645
  266.       End
  267.       Begin Label Label2 
  268.          BackColor       =   &H00C0C0C0&
  269.          Caption         =   "IP"
  270.          Height          =   225
  271.          Index           =   0
  272.          Left            =   90
  273.          TabIndex        =   26
  274.          Top             =   1440
  275.          Width           =   525
  276.       End
  277.       Begin Label Label1 
  278.          BackColor       =   &H00C0C0C0&
  279.          Caption         =   "Service"
  280.          Height          =   255
  281.          Index           =   1
  282.          Left            =   120
  283.          TabIndex        =   24
  284.          Top             =   330
  285.          Width           =   705
  286.       End
  287.       Begin Label Label 
  288.          BackColor       =   &H00C0C0C0&
  289.          Caption         =   "Protocol"
  290.          Height          =   225
  291.          Index           =   4
  292.          Left            =   120
  293.          TabIndex        =   23
  294.          Top             =   690
  295.          Width           =   825
  296.       End
  297.    End
  298.    Begin Frame Frame1 
  299.       BackColor       =   &H00C0C0C0&
  300.       Caption         =   "Data "
  301.       FontBold        =   -1  'True
  302.       FontItalic      =   -1  'True
  303.       FontName        =   "MS Sans Serif"
  304.       FontSize        =   8.25
  305.       FontStrikethru  =   0   'False
  306.       FontUnderline   =   0   'False
  307.       Height          =   1005
  308.       Left            =   5730
  309.       TabIndex        =   13
  310.       Top             =   1110
  311.       Width           =   1665
  312.       Begin TextBox LocalDataPort 
  313.          BackColor       =   &H00FFFFFF&
  314.          Height          =   285
  315.          Left            =   810
  316.          TabIndex        =   16
  317.          Top             =   630
  318.          Width           =   765
  319.       End
  320.       Begin CommandButton ConnectDataButton 
  321.          Caption         =   "Open"
  322.          Height          =   315
  323.          Left            =   870
  324.          TabIndex        =   14
  325.          Top             =   120
  326.          Width           =   765
  327.       End
  328.       Begin Label Label2 
  329.          BackColor       =   &H00C0C0C0&
  330.          Caption         =   "Port #"
  331.          Height          =   225
  332.          Index           =   2
  333.          Left            =   60
  334.          TabIndex        =   39
  335.          Top             =   660
  336.          Width           =   765
  337.       End
  338.    End
  339.    Begin Frame Frame4 
  340.       BackColor       =   &H00C0C0C0&
  341.       Caption         =   "Command"
  342.       FontBold        =   -1  'True
  343.       FontItalic      =   -1  'True
  344.       FontName        =   "MS Sans Serif"
  345.       FontSize        =   8.25
  346.       FontStrikethru  =   0   'False
  347.       FontUnderline   =   0   'False
  348.       Height          =   1005
  349.       Left            =   4170
  350.       TabIndex        =   33
  351.       Top             =   1110
  352.       Width           =   1575
  353.       Begin TextBox LocalAddressBox 
  354.          BackColor       =   &H00FFFFFF&
  355.          Height          =   315
  356.          Left            =   330
  357.          TabIndex        =   35
  358.          Top             =   270
  359.          Width           =   1185
  360.       End
  361.       Begin TextBox LocalPort 
  362.          BackColor       =   &H00FFFFFF&
  363.          Height          =   315
  364.          Left            =   750
  365.          TabIndex        =   34
  366.          Top             =   600
  367.          Width           =   765
  368.       End
  369.       Begin Label Label2 
  370.          BackColor       =   &H00C0C0C0&
  371.          Caption         =   "IP"
  372.          Height          =   225
  373.          Index           =   1
  374.          Left            =   60
  375.          TabIndex        =   37
  376.          Top             =   300
  377.          Width           =   405
  378.       End
  379.       Begin Label Label3 
  380.          BackColor       =   &H00C0C0C0&
  381.          Caption         =   "Port #"
  382.          Height          =   225
  383.          Index           =   2
  384.          Left            =   30
  385.          TabIndex        =   36
  386.          Top             =   660
  387.          Width           =   585
  388.       End
  389.    End
  390.    Begin Frame Frame5 
  391.       BackColor       =   &H00C0C0C0&
  392.       Caption         =   "Send"
  393.       FontBold        =   -1  'True
  394.       FontItalic      =   -1  'True
  395.       FontName        =   "MS Sans Serif"
  396.       FontSize        =   8.25
  397.       FontStrikethru  =   0   'False
  398.       FontUnderline   =   0   'False
  399.       Height          =   1995
  400.       Left            =   30
  401.       TabIndex        =   40
  402.       Top             =   2100
  403.       Width           =   5175
  404.       Begin CommandButton SendDataButton 
  405.          Caption         =   "Send Data"
  406.          Height          =   315
  407.          Left            =   3870
  408.          TabIndex        =   10
  409.          Top             =   210
  410.          Width           =   1155
  411.       End
  412.       Begin TextBox OutputBuffer 
  413.          BackColor       =   &H00FFFFFF&
  414.          Height          =   1365
  415.          Left            =   30
  416.          MultiLine       =   -1  'True
  417.          ScrollBars      =   3  'Both
  418.          TabIndex        =   44
  419.          Top             =   570
  420.          Width           =   5085
  421.       End
  422.       Begin CheckBox LineModeCheck 
  423.          BackColor       =   &H00C0C0C0&
  424.          Caption         =   "Line Mode"
  425.          Height          =   195
  426.          Left            =   150
  427.          TabIndex        =   43
  428.          Top             =   300
  429.          Width           =   1215
  430.       End
  431.       Begin CommandButton ClearSend 
  432.          Caption         =   "Clear"
  433.          Height          =   315
  434.          Left            =   1620
  435.          TabIndex        =   42
  436.          Top             =   210
  437.          Width           =   705
  438.       End
  439.       Begin CommandButton SendButton 
  440.          Caption         =   "Send Command"
  441.          Height          =   315
  442.          Left            =   2400
  443.          TabIndex        =   41
  444.          Top             =   210
  445.          Width           =   1425
  446.       End
  447.    End
  448.    Begin Frame Frame6 
  449.       BackColor       =   &H00C0C0C0&
  450.       Caption         =   "Events"
  451.       FontBold        =   -1  'True
  452.       FontItalic      =   -1  'True
  453.       FontName        =   "MS Sans Serif"
  454.       FontSize        =   8.25
  455.       FontStrikethru  =   0   'False
  456.       FontUnderline   =   0   'False
  457.       Height          =   1995
  458.       Left            =   5190
  459.       TabIndex        =   15
  460.       Top             =   2100
  461.       Width           =   2205
  462.       Begin TextBox EventBox 
  463.          BackColor       =   &H00FFFFFF&
  464.          Height          =   1365
  465.          Left            =   30
  466.          MultiLine       =   -1  'True
  467.          ScrollBars      =   2  'Vertical
  468.          TabIndex        =   22
  469.          Top             =   570
  470.          Width           =   2055
  471.       End
  472.       Begin CommandButton ClearButton 
  473.          Caption         =   "Clear"
  474.          Height          =   285
  475.          Left            =   1320
  476.          TabIndex        =   25
  477.          Top             =   210
  478.          Width           =   765
  479.       End
  480.    End
  481.    Begin Frame Frame7 
  482.       BackColor       =   &H00C0C0C0&
  483.       Caption         =   "Receive"
  484.       FontBold        =   -1  'True
  485.       FontItalic      =   -1  'True
  486.       FontName        =   "MS Sans Serif"
  487.       FontSize        =   8.25
  488.       FontStrikethru  =   0   'False
  489.       FontUnderline   =   0   'False
  490.       Height          =   2085
  491.       Left            =   30
  492.       TabIndex        =   30
  493.       Top             =   4080
  494.       Width           =   7365
  495.       Begin TextBox InputBuffer 
  496.          BackColor       =   &H00FFFFFF&
  497.          Height          =   1635
  498.          Left            =   0
  499.          MultiLine       =   -1  'True
  500.          ScrollBars      =   3  'Both
  501.          TabIndex        =   38
  502.          Top             =   450
  503.          Width           =   7335
  504.       End
  505.       Begin CommandButton ClearReceive 
  506.          Caption         =   "Clear"
  507.          Height          =   285
  508.          Left            =   6600
  509.          TabIndex        =   45
  510.          Top             =   150
  511.          Width           =   675
  512.       End
  513.    End
  514. End
  515. Dim EventArray(1 To 9) As String
  516. Dim AutoClose As Integer
  517.  
  518. Sub ClearButton_Click ()
  519. ' Clear the event log
  520.   EventBox.Text = ""
  521. End Sub
  522.  
  523. Sub ClearReceive_Click ()
  524.   inputBuffer.Text = ""
  525. End Sub
  526.  
  527. Sub ClearSend_Click ()
  528.   OutputBuffer.Text = ""
  529. End Sub
  530.  
  531. Sub CloseFormButton_Click ()
  532. ' Close the form
  533.  
  534.   If (MsgBox("Close all connections?", MB_ICONQUESTION + MB_YESNO) = IDYES) Then
  535.     vbstak.Action = STAK_ACTION_CLOSE
  536.     DataStak.Action = STAK_ACTION_CLOSE
  537.     DataStak.Action = STAK_ACTION_CLOSE
  538.     Unload Me
  539.   End If
  540. End Sub
  541.  
  542. Sub CloseSocket ()
  543.     vbstak.Action = STAK_ACTION_CLOSE
  544.     DataStak.Action = STAK_ACTION_CLOSE
  545.     DataStak.Socket = DataStak.MasterSocket
  546.     DataStak.Action = STAK_ACTION_CLOSE
  547.     MessageButton.Caption = "Connect"
  548. End Sub
  549.  
  550. Sub ConnectDataButton_Click ()
  551.   'Set the DataStak up to listen
  552.   If ConnectDataButton.Caption <> "Close" Then
  553.     DataStak.Protocol = IPPROTO_TCP
  554.     'DataStak.LocalAddress = VBStak.LocalAddress
  555.     DataStak.LocalPort = 2048
  556.     DataStak.Action = STAK_ACTION_LISTEN
  557.     ConnectDataButton.Caption = "Close"
  558.     LocalDataPort.Text = DataStak.LocalPort
  559.   Else
  560.     DataStak.Action = STAK_ACTION_CLOSE
  561.     DataStak.Action = STAK_ACTION_CLOSE
  562.     ConnectDataButton.Caption = "Open"
  563.   End If
  564. End Sub
  565.  
  566. Sub DataStak_Message (Message As Integer)
  567.  
  568.   EventBox.Text = "(Data)" & DecodeEvent(Message) + Chr(13) + Chr(10) + EventBox.Text
  569. Select Case Message
  570.   Case FD_ACCEPT
  571.     
  572.     ' Got here
  573.   Case FD_READ
  574.     dataString = DataStak.Input
  575.     inputBuffer.SelStart = Len(inputBuffer.Text)
  576.     inputBuffer.SelText = dataString
  577.   Case FD_CONNECT
  578.     LocalDataPort.Text = Str(DataStak.LocalPort \ 256) & "," & Str(DataStak.LocalPort Mod 256)
  579.   Case FD_CLOSE
  580.     DataStak.Action = STAK_ACTION_CLOSE
  581.     ConnectDataButton.Caption = "Open Data Port"
  582.   End Select
  583.   statusBox.Text = vbstak.Status
  584.  
  585. End Sub
  586.  
  587. Sub DebugMode_Click ()
  588.   ' Set the debug mode
  589.   vbstak.Debug = DebugMode.Value
  590.  
  591. End Sub
  592.  
  593. Function DecodeEvent (event As Integer) As String
  594.  
  595.   Select Case event
  596.   Case FD_READ
  597.     DecodeEvent = "Read"
  598.   Case FD_WRITE
  599.     DecodeEvent = "Write"
  600.   Case FD_OOB
  601.     DecodeEvent = "Out Of Bound"
  602.   Case FD_ACCEPT
  603.     DecodeEvent = "Accept"
  604.   Case FD_CONNECT
  605.     DecodeEvent = "Connect"
  606.   Case FD_CLOSE
  607.     DecodeEvent = "Close"
  608.   Case STAK_EVENT_SERVICE
  609.     DecodeEvent = "Service"
  610.   Case STAK_EVENT_HOST
  611.     DecodeEvent = "Host"
  612.   Case STAK_EVENT_PROTOCOL
  613.     DecodeEvent = "Protocol"
  614.   End Select
  615. End Function
  616.  
  617. Sub DisplayStatus ()
  618.   
  619.   HostAddressBox.Text = vbstak.HostAddress
  620.   HostNameBox.Text = vbstak.Host
  621.   ErrorBox.Text = vbstak.Error
  622.   SocketBox.Text = vbstak.Socket
  623.   LocalPort.Text = vbstak.LocalPort
  624.   ProtocolNameBox.Text = vbstak.ProtocolName
  625.   ServiceNameBox.Text = vbstak.ServiceName
  626.   statusBox.Text = vbstak.Status
  627.   LocalDataPort.Text = DataStak.LocalPort
  628.  
  629. End Sub
  630.  
  631. Sub Form_Load ()
  632.  
  633.   Call DisplayStatus
  634.  
  635. End Sub
  636.  
  637. Sub Form_Unload (Cancel As Integer)
  638.  
  639.   vbstak.Action = STAK_ACTION_CLOSE
  640.  
  641. End Sub
  642.  
  643. Sub GetHostButton_Click ()
  644.  
  645.   vbstak.Host = vbstak.Host & Chr(0)
  646.   vbstak.Action = STAK_ACTION_GET_HOST
  647.  
  648. End Sub
  649.  
  650. Sub HostAddressBox_LostFocus ()
  651.  
  652.   ' Set the host address
  653.   vbstak.HostAddress = HostAddressBox.Text
  654.  
  655. End Sub
  656.  
  657. Sub HostNameBox_LostFocus ()
  658.  
  659.   vbstak.Host = HostNameBox.Text
  660.  
  661. End Sub
  662.  
  663. Sub MessageButton_Click ()
  664.   
  665.   If MessageButton.Caption = "Connect" Then
  666.     'VBStak.LocalAddress = "0.0.0.0"
  667.     vbstak.LocalPort = 2048
  668.     vbstak.Action = STAK_ACTION_OPEN
  669.   Else
  670.     Call CloseSocket
  671.   End If
  672.  
  673. End Sub
  674.  
  675. Sub OutputBuffer_KeyPress (KeyAscii As Integer)
  676.   Static LineBuffer As String
  677.   If KeyAscii = 13 And LineModeCheck Then
  678.     lineEndPosition = 1
  679.     lineStartPosition = 1
  680.     lineOffset = 0
  681.     Do While lineEndPosition <= OutputBuffer.SelStart
  682.       lineEndPosition = InStr(lineStartPosition + 1, OutputBuffer.Text, Chr(13))
  683.       If lineEndPosition = 0 Then lineEndPosition = Len(OutputBuffer.Text) + 1
  684.       If lineEndPosition >= OutputBuffer.SelStart Then
  685.         Exit Do
  686.       End If
  687.       lineOffset = 2
  688.       lineStartPosition = lineEndPosition
  689.     Loop
  690.     'Return key - process line command
  691.     outputString = Mid(OutputBuffer.Text, lineStartPosition + lineOffset, lineEndPosition - lineStartPosition - lineOffset) & Chr(10)
  692.     vbstak.Output = outputString
  693.     vbstak.Action = STAK_ACTION_SEND
  694.   Else
  695.     LineBuffer = LineBuffer & Chr(KeyAscii)
  696.   End If
  697. End Sub
  698.  
  699. Sub ProtocolButton_Click ()
  700.   vbstak.ProtocolName = ProtocolNameBox.Text & Chr(0)
  701.   vbstak.Action = STAK_ACTION_GET_PROTOCOL
  702.  
  703. End Sub
  704.  
  705. Sub RemotePortBox_LostFocus ()
  706.  
  707.   ' Set the service manually
  708.   vbstak.RemotePort = Val(RemotePortBox.Text)
  709.  
  710. End Sub
  711.  
  712. Sub SendButton_Click ()
  713.  
  714. ' Send the text
  715.   ' inputBuffer.Text = ""
  716.   vbstak.Output = OutputBuffer.Text
  717.   vbstak.Action = STAK_ACTION_SEND
  718.  
  719. End Sub
  720.  
  721. Sub SendDataButton_Click ()
  722. '  Send the data to the Data port
  723.   DataStak.Output = OutputBuffer.Text
  724.   DataStak.Action = STAK_ACTION_SEND
  725.  
  726. End Sub
  727.  
  728. Sub ServiceButton_Click ()
  729.  
  730.   vbstak.ServiceName = ServiceNameBox.Text & Chr(0)
  731.   vbstak.ProtocolName = ProtocolNameBox.Text & Chr(0)
  732.   vbstak.Action = STAK_ACTION_GET_SERVICE
  733.  
  734. End Sub
  735.  
  736. Sub ServiceNameBox_LostFocus ()
  737.  
  738.   vbstak.ServiceName = ServiceNameBox.Text
  739.  
  740. End Sub
  741.  
  742. Sub StatusButton_Click ()
  743.   
  744.   Call DisplayStatus
  745.  
  746. End Sub
  747.  
  748. Sub VBStak_Message (Message As Integer)
  749.   ' Get the message
  750.   
  751.   EventBox.Text = "(Com)" & DecodeEvent(Message) + Chr(13) + Chr(10) + EventBox.Text
  752.   Select Case Message
  753.   Case FD_CONNECT
  754.     If vbstak.Error = 0 Then
  755.       MessageButton.Caption = "Close Socket"
  756.       LocalAddressBox.Text = vbstak.LocalAddress
  757.     End If
  758.   Case FD_READ
  759.   
  760. '    inputBuffer.Text = inputBuffer.Text & VBStak.Input & Chr(13) & Chr(10)
  761.     inputBuffer.SelStart = Len(inputBuffer.Text)
  762.     inputBuffer.SelText = vbstak.Input
  763.   Case FD_CLOSE
  764.     If AutoCloseCheckBox.Value = 1 Then
  765.       Call CloseSocket
  766.     End If
  767.   Case STAK_EVENT_SERVICE
  768.     ' The port has been loaded
  769.     'MsgBox ("Got the service request")
  770.     RemotePortBox.Text = vbstak.RemotePort
  771.   Case STAK_EVENT_PROTOCOL
  772.     ' The protocol has been loaded
  773.     'MsgBox ("Got the protocol request")
  774.     ProtocolBox.Text = vbstak.Protocol
  775.  
  776.   Case STAK_EVENT_HOST
  777.     ' The host has been loaded
  778.     If vbstak.Error <> 0 Then
  779.       MsgBox ("Could not locate host " & HostNameBox.Text)
  780.     End If
  781.   End Select
  782.   Call DisplayStatus
  783.  
  784. End Sub
  785.  
  786.